package com.tn.dao.basic;
import com.tn.controller.alarm.common.model.basic.vo.KeyBasicDataVO;
import com.tn.controller.alarm.common.model.basic.vo.KeyBasicQueryVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @description: 该方法功能 TODO
 * @packageName: com.tn.dao.basic$
 * @author: Zhangfeng
 * @createTime: 2023-04-06
 * @version: V1.0.0
 */
@Repository
public interface IBasicDataDao {

    /**
     * 新增基础数据
     *
     * @param basicData 摄像头信息
     * @return 数量
     */
    int addBasicData(@Param("basicData") KeyBasicDataVO basicData);

    /**
     * 修改础数据
     *
     * @param basicData 摄像头信息
     * @return 数量
     */
    int updateBasicData( KeyBasicDataVO basicData);

    /**
     * 根据IP校验是否存在摄像头
     *
     * @param name name
     * @return 是否存在
     */
    KeyBasicDataVO checkExistsBasicDataByName(@Param("goodsName") String goodsName);



    KeyBasicDataVO checkExistsBasicDataByKey(@Param("keyCode") String keyCodes);
    /**
     * 删除础数据
     *
     * @param basicData 摄像头信息
     * @return 数量
     */
    int deleteBasicData(KeyBasicDataVO basicData);

    /**
     * 删除础数据
     *
     * @param id 摄像头信息
     * @return 数量
     */
    KeyBasicDataVO queryBasicDataById(@Param("id") Long id);



    KeyBasicDataVO queryBasicDataByKey(@Param("keyCode") String keyCode);


    /**
     * 查询数据
     *
     * @param basicData 摄像头信息
     * @return 数量
     */
    List<KeyBasicDataVO> queryList(KeyBasicDataVO basicData);


    /**
     * 分页查询总数
     *
     * @param basicQueryVO 查询条件
     * @return 总数
     */
    int queryBasicCount(@Param("basicQueryVO") KeyBasicQueryVO basicQueryVO);


    /**
     * 分页查询告警信息
     *
     * @param startIndex   开始索引
     * @param pageSize     页长
     * @param basicQueryVO 查询条件
     * @return 查询结果
     */
    List<KeyBasicDataVO> queryBasicByPage(@Param("startIndex") int startIndex, @Param("pageSize") int pageSize,
                                          @Param("basicQueryVO") KeyBasicQueryVO basicQueryVO);

}
